﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Negocio;
using Entidades;

namespace Precentacion1
{
    public partial class frmVender : Form
    {
        int INTCODPRODUCTO;
        int cantidadEnStock;
        public frmVender( int paramCodProucto, string paramDescripcion, int paramCantidad, string paramNombreProducto,decimal paramPrecio , string paramModelo,string paramMarca)
        {

            this.INTCODPRODUCTO = paramCodProucto;
            InitializeComponent();
            cantidadEnStock = paramCantidad;
            this.textBoxNombreProducto.Text = paramNombreProducto;
            this.textBoxMarca.Text = paramMarca;
            this.textBoxModelo.Text = paramModelo;
            this.textBoxPrecioContado.Text = Convert.ToString(Math.Round(paramPrecio, 2));
            this.textBoxCantEnStock.Text = paramCantidad.ToString();
            this.textBoxCodProd.Text = paramCodProucto.ToString();

            this.comboBoxCantCuotas.Enabled = false;
            this.comboBoxTipoDeCuotas.Enabled = false;
            this.textBoxAnticipo.Enabled = false;
            this.textBoxValorCuota.Enabled = false;
            //this.comboBoxCantProductos.Enabled = false;

            //this.labelNombreProductoValor.Text = paramNombre;
            //this.labelValorPrecioUnitario.Text = paramPrecio.ToString();
            //this.labelValorMarca.Text = paramMarca;
            //this.labelValorModelo.Text = paramModelo;
           
        }


        private void frmVender_Load(object sender, EventArgs e)
        {


        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void comboBoxCantCuotas_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            
        }

        private void comboBoxModoDePago_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.comboBoxModoDePago.SelectedItem.ToString() == "Cuotas")
            {
                this.comboBoxTipoDeCuotas.Enabled = true;
                this.comboBoxCantCuotas.Enabled = true;
                this.textBoxAnticipo.Enabled = true;
                this.textBoxValorCuota.Enabled = true;
                //this.comboBoxCantProductos.SelectedItem = Convert.ToInt32("1");

            }
            if(this.comboBoxModoDePago.SelectedItem.ToString() == "Contado")
            {
                this.comboBoxTipoDeCuotas.Enabled = false;
                this.comboBoxCantCuotas.Enabled = false;
                this.textBoxAnticipo.Enabled = false;
                this.textBoxValorCuota.Enabled = false;
            }
        }

        private void buttonConsultar_Click(object sender, EventArgs e)
        {
            FormConsultar objFormConsultar = new FormConsultar(this.textBoxNombreProducto.Text, this.textBoxMarca.Text ,this.textBoxModelo.Text ,this.textBoxPrecioContado.Text);

            objFormConsultar.Show();
        }

        private void labelModelo_Click(object sender, EventArgs e)
        {

        }

        private void textBoxModelo_TextChanged(object sender, EventArgs e)
        {

        }

        private void comboBoxCantProductos_SelectedIndexChanged(object sender, EventArgs e)
        {
           
        }

        private void label11_Click(object sender, EventArgs e)
        {

        }

        private void buttonVender_Click(object sender, EventArgs e)
        {
            //JESUS TE RECONTRA AMO!!!
            if (this.comboBoxModoDePago.SelectedItem.ToString() == "Contado")
            {
                if (MessageBox.Show("Desea vender el producto seleccionado", Application.ProductName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    admVentas.RegistrarVenta(dateTimePickerFechaVenta.Value, Convert.ToDecimal(this.textBoxPrecioContado.Text), Convert.ToInt32(this.textBoxCodProd.Text), 1, this.textBoxNroFactura.Text, this.textBoxDni.Text, "Contado", -1, -1, -1, "", -1);
                    MessageBox.Show("Se realizo la venta correctamente");
                }
            }

            if (this.comboBoxModoDePago.SelectedItem.ToString() == "Cuotas")
            {
                
                if (this.textBoxAnticipo.Text == string.Empty )
                {
                    MessageBox.Show("Debe ingresar un Anticipo");
                    return;
                }
                if (this.textBoxValorCuota.Text == string.Empty)
                {
                    MessageBox.Show("Debe un ingresar el valor de la cuota");
                    return;
                }
                if (this.textBoxDni.Text == string.Empty)
                {
                    MessageBox.Show("Debe ingresar un Dni que se encutre registrado en el sistema");
                    return;
                }
                if (!admClientes.BuscarClientePorDni(Convert.ToInt32(this.textBoxDni.Text)))
                {
                    MessageBox.Show("El Cliente No se encuentra registrado en el Sistema");
                    return;
                }
                
                if (MessageBox.Show("Desea vender el producto seleccionado.Verifique una vez mas si el DNI ingresado es el correcto", /*Application.ProductName*/"Confirmar Venta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                       admVentas.RegistrarVenta(dateTimePickerFechaVenta.Value, Convert.ToDecimal(this.textBoxPrecioContado.Text), Convert.ToInt32(this.textBoxCodProd.Text), 1, this.textBoxNroFactura.Text,  this.textBoxDni.Text, "Cuotas", Convert.ToDecimal(this.textBoxAnticipo.Text), Convert.ToInt32(this.comboBoxCantCuotas.SelectedItem), 2, this.comboBoxTipoDeCuotas.SelectedItem.ToString(), Convert.ToDecimal(this.textBoxValorCuota.Text));
                       MessageBox.Show("Se realizo la venta correctamente");
                }
            }

        }

          
        private void buttonCliente_Click(object sender, EventArgs e)
        {
            if (this.textBoxDni.Text != string.Empty)
            {
                if (admClientes.BuscarClientePorDni(Convert.ToInt32(this.textBoxDni.Text)))
                {
                    MessageBox.Show("El Cliente se encuentra registrado en la Base de Datos");
                }
                else
                    MessageBox.Show("El Cliente No se encuentra registrado en el Sistema.Puede Agregarlo");
            }
            else
                MessageBox.Show("Debe ingresar un Numero de Dni");
        }

        private void buttonAgregarCliente_Click(object sender, EventArgs e)
        {
            frmCliente formAgregarCliente = new frmCliente();
            formAgregarCliente.Show();
        }

        private void comboBoxTipoDeCuotas_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}
